fittings plumbing c++ accessories uml plumber electrical business analysis java consulting heating use cases pipes j2ee project management olap hose extreme programming